The present invention relates to a data carrying device and systems for use therewith.
The invention has been developed primarily for use as a smart-card system and will be described hereinafter with reference to this application. However, it will be appreciated that the invention is not limited to this particular field of use.
Known smart-cards are generally configured differently depending upon the particular functions they are to perform. Typically, the memory space of prior art smart-cards contain various segments of fixed size, each of which are dedicated to the storage of a particular kind of data relating to a specific application/programme. Such utilisation of the limited resources generally available in a smart-card results in limited overall functionality. For example, in the prior art, a 1K card typically supports 1, 2 or 3 predetermined and fixed applications/programmes.
It is known to format data on smart-cards such that each application resides in a separate directory, for example in accordance with International standard ISO 7816.
In practice however, it has been appreciated by the applicant that these formats are not suited for devices such as smart-cards if they are configured to support large numbers of applications and programmes because the amount of resources required to support the resulting elaborate application and directory structure is excessive.
Additionally, the differing formats adopted by different card providers for different applications or programmes seriously limits the inter-operability of present day smart-card systems. In other words, a smart-card supplied by a given card provider or card issuer for a particular programme and configured to fulfil a particular function, will general not be compatible with the hardware and operating systems of different card providers, or hardware and operating systems designed to fulfil a different function, or the potential limitless number of different programmes or functions required by the many different card providers, card issuers or users of the different functions and programmes.
Known smart-card systems are typically custom made to support a small number of specific applications running under fixed constraints. Changes to the system usually require revision of the software and possibly the associated hardware, involving long lead times and substantial expense. The low number of applications/programmes supported by each card and the lack of flexibility inherent in the current approach has seriously limited the functionality and interoperability of present day smart-card technology.
It is an object of the present invention to overcome or ameliorate one or more of the disadvantages of the prior art, or at least to provide a useful alternative.
According to one aspect of the invention, there is provided a data carrying device having a memory space for storing data at a plurality of locations, said memory space including:
a static area residing at a fixed location;
an index area residing at a first dynamically allocatable location; and
an application area residing at a second dynamically allocatable location,
said static area being configured to hold data pointing to the location of said index area and said index area being configured to hold data indicative of applications or programmes residing within said application area.
Preferably the index area is configured to hold data indicative of programmes residing within the application area.
According to a second aspect of the invention, there is provided a data carrying device having a memory space for storing data at a plurality of locations, said memory space including an application area divided into a plurality of units, each being configurable to store data associated with part or all of a programme, the location of any unit, or units corresponding to any programme being dynamically allocatable.
Preferably the size of said unit is small compared to the size of the segments utilised in the prior art.
As used in this document, the term xe2x80x9cdata carrying devicexe2x80x9d includes, for example, contact or contactless smart-cards, magnetic striped cards, chip bearing devices such as watches, key rings, keys, phones, small pocket devices, electronic wallets and the like.
According to another aspect of the invention there is provided a system for manipulating data on a plurality of data carrying devices, said system including at least one host and one or a plurality of terminals, each terminal being adapted to interact with said data carrying devices, the terminals and the host being adapted to communicate parameter files therebetween, each of said terminals further including software being activatable and configurable in response to said parameter files so as to initiate and/or update data on said data carrying devices. Preferably, the software in each terminal is substantially functionally identical.
Alternatively the software may reside in the host rather than the terminals. In this embodiment, the software is separate from the host software.
Preferably the data carrying devices referred to in the system of the invention are in accordance with that of the first and/or second aspect of the invention.
As used in this document, the term xe2x80x9csoftwarexe2x80x9d includes functional equivalents such as hardware configured to give the same, or a similar, result, for example EPROM, firmware, etc.
The system of the present invention allows each of the applications to be implemented many times over. For example, any one data carrying device may, at any time, hold numerous different tickets for various unrelated services. Each implementation of an application, for example each individual ticket, requires data to be stored in at least one unit of the application area. Each implementation of an application is referred to in this document as a xe2x80x9cprogrammexe2x80x9d. The ability of the present invention to support numerous programmes relating to numerous different applications compares favourably to prior art smart-card systems which typically offer only a small fraction of such functionality for cards having identical resources.